package com.yonyou.brigade.third_parties.huazhu.service;

import com.baomidou.mybatisplus.service.IService;
import com.yonyou.brigade.basic_init.model.BriChannel;
import com.yonyou.brigade.order_center.model.ThirdResult;
import com.yonyou.brigade.third_parties.huazhu.model.HzUser;
import com.yonyou.ybzboot.uc.dto.UcUserDto;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author houyb
 * @since 2020-06-18
 */
public interface IHzUserService extends IService<HzUser> {

    /**
     * 同步用户
     * @param hzUser
     * @param briChannel
     * @param operationType
     * @return
     */
    ThirdResult syncUser(HzUser hzUser, BriChannel briChannel, String operationType);

    /**
     * 同步用户
     * @param ucUserDto
     * @param briChannel
     * @param tenant
     * @return
     */
    void syncUserList(List<UcUserDto> ucUserDto, BriChannel briChannel, String tenant);


    /**
     * 单点登录
     * @param tenant
     * @param org
     * @param phone
     * @param pageType
     * @param pcOrH5
     * @param jsonExt
     * @return
     */
    String loginUrl(String tenant, String org, String phone, String pageType, String pcOrH5, String jsonExt);

    /**
     * 转换
     * @param ucUserDto
     * @param tenant
     * @return
     */
    HzUser ucUserConvert2HzUser(UcUserDto ucUserDto, String tenant);

    /**
     * 转换
     * @param ucUserDto
     * @param tenant
     * @return
     */
    List<HzUser> ucUserConvert2HzUser(List<UcUserDto> ucUserDto, String tenant);

}
